home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / comm / tlx_hst.zip / TLX_HST.SLT < prev    next >
Text File  |  1988-12-15  |  54KB  |  1,626 lines

  1. ////////////////////////////////////////////////////////////////////////
  2. //                                                                    //
  3. //  TLX_HST Service Script, Release 1.0                               //
  4. //                                                                    //
  5. //  For Telix SALT version 3.11                                       //
  6. //                                                                    //
  7. //  Written by: Andrzej Taramina                                      //
  8. //                                                                    //
  9. ////////////////////////////////////////////////////////////////////////
  10.  
  11. int CONT_OK = 0;                       // Global function return codes
  12. int GET_OUT  = 99;
  13. int TIME_OUT = 98;
  14.  
  15. main()
  16.  {
  17.   str menu[1] = "M";
  18.   str rom_level[3] = "";
  19.   str func[2];
  20.   int save_scr;
  21.   int t1, t2, t3, t4;
  22.   int stat;
  23.   int ret_code = 0;
  24.   int ran_fn;
  25.   int time_handle;
  26.  
  27.   save_scr = vsavearea(0,0,79,24);
  28.   clear_scr();
  29.   if (carrier())
  30.      {
  31.       clear_scr();
  32.       prints("This Script MUST be run OFFLINE (in terminal mode)");
  33.       prints("Script aborted due to above error.");
  34.       delay(40);
  35.       vrstrarea(save_scr);
  36.       return(-1);
  37.      }
  38.  
  39.   t1 = track("961",0);
  40.   t2 = track("963",0);
  41.   t3 = track("964",0);
  42.   t4 = track("OK",0);
  43.  
  44.   flushbuf();
  45.   cputs("ATI0^M");
  46.   time_handle = timer_start(20);
  47.   while (1)
  48.      {
  49.       terminal();
  50.       stat = track_hit(0);
  51.       if (stat == t1)
  52.          {
  53.           rom_level = "961";
  54.           break;
  55.          }
  56.       else if (stat == t2)
  57.               {
  58.                rom_level = "963";
  59.                break;
  60.               }
  61.       else if (stat == t3)
  62.               {
  63.                rom_level = "964";
  64.                break;
  65.               }
  66.       else if (stat == t4)
  67.               break;
  68.       else if (time_up(time_handle))
  69.               break;
  70.      }
  71.  
  72.   track_free(0);
  73.   timer_free(time_handle);
  74.   if (rom_level == "")
  75.      {
  76.       clear_scr();
  77.       prints("Sorry, your modem is not a USRobotics Courier HST or");
  78.       prints("the ROM level is higher than 964 or lower than 961.");
  79.       prints("HST Service Script aborted.");
  80.       delay (40);
  81.       vrstrarea(save_scr);
  82.       return(-1);
  83.      }
  84.  
  85.   cputs("AT&B0^M");
  86.   set_cparams(2400,0,8,1);
  87.   _local_echo = 1;
  88.  
  89.   while (ret_code == CONT_OK)
  90.      {
  91.       if (menu == "M")
  92.          main_menu(rom_level);
  93.       else
  94.          adv_menu(rom_level);
  95.       ran_fn = 1;
  96.       flushbuf();
  97.       gotoxy(56,18);
  98.       gets(func,2);
  99.       if (menu == "M")
  100.          {
  101.           if (func == "1") ret_code = get_level();
  102.           else if (func == "2")  ret_code = chk_sum();
  103.           else if (func == "3")  ret_code = ram_test();
  104.           else if (func == "4")  ret_code = current_set();
  105.           else if (func == "5")  ret_code = nram_set();
  106.           else if (func == "6")  ret_code = set_clock();
  107.           else if (func == "7")  ret_code = disp_phone();
  108.           else if (func == "8")  ret_code = basic_help();
  109.           else if (func == "9")  ret_code = ext_help();
  110.           else if (func == "10") ret_code = dial_help();
  111.           else if (func == "11") ret_code = set_sregs();
  112.           else if (func == "12") ret_code = switch_help();
  113.           else if (func == "13") ret_code = interface_test();
  114.           else if (func == "14") ret_code = analog_loop();
  115.           else if (func == "15") ret_code = freq_test();
  116.           else if (func == "16") ret_code = data_mode();
  117.           else if (func == "17") ret_code = set_to_nram();
  118.           else if (func == "18") ret_code = write_nram();
  119.           else if (func == "19") ret_code = dial_phone();
  120.           else if (func == "20") ret_code = link_diag();
  121.           else if (func == "TX") ret_code = telix_def(rom_level);
  122.           else if (func == "tx") ret_code = telix_def(rom_level);
  123.           else if (func == "PC") ret_code = pcboard_def(rom_level);
  124.           else if (func == "pc") ret_code = pcboard_def(rom_level);
  125.           else if ((func == "AD" or func == "ad") and
  126.                   rom_level >= "964")
  127.                   {
  128.                    menu = "A";
  129.                    ran_fn = 0;
  130.                    continue;
  131.                   }
  132.           else if (func == "99") break;
  133.           else
  134.              {
  135.               tone(400,50);
  136.               ran_fn = 0;
  137.              }
  138.          }
  139.  
  140.       if (menu == "A")
  141.          {
  142.           if (func == "50") ret_code = disable_comp();
  143.           else if (func == "51") ret_code = auto_comp();
  144.           else if (func == "52") ret_code = enable_comp();
  145.           else if (func == "53") ret_code = set_s15reg();
  146.           else if (func == "54") ret_code = set_rate();
  147.           else if (func == "55") ret_code = modem_inq();
  148.           else if (func == "98")
  149.              {
  150.               menu = "M";
  151.               ran_fn = 0;
  152.              }
  153.           else if (func == "99") break;
  154.           else
  155.              {
  156.               tone(400,50);
  157.               ran_fn = 0;
  158.              }
  159.          }
  160.       if (ran_fn and ret_code == CONT_OK)
  161.          {
  162.           gotoxy(18,23);
  163.           printsc("Press (Enter) to return to function menu......");
  164.           flushbuf();
  165.           gotoxy(0,0);
  166.           inkeyw();
  167.          }
  168.      }
  169.  
  170.  
  171.   if (ret_code == TIME_OUT)
  172.      {
  173.       clear_scr();
  174.       prints("WAITFOR timeout: expected response not received after 20 seconds");
  175.       prints("Script aborted....");
  176.       delay(30);
  177.      }
  178.  
  179.   clear_scr();
  180.   gotoxy(0,0);
  181.   prints("USR TLX_HST SERVICE SCRIPT - EXIT");
  182.   prints(" ");
  183.   prints("The TLX_HST script sets your COM port to 2400-N-8-1 during");
  184.   prints("its operation and resets these parameters to 19200-N-8-1");
  185.   prints("prior to exit. If your default COM parameters are different,");
  186.   prints("Use the TELIX Alt-P command to restore the desired COM ");
  187.   prints("parameters before going back online.");
  188.   prints(" ");
  189.   prints("Thanks for using TLX_HST and TELIX.  Have a nice day.");
  190.   prints(" ");
  191.   prints("Press <Enter> to return to Telix");
  192.   inkeyw();
  193.   set_cparams(19200,0,8,1);
  194.   _local_echo = 1;
  195.   vrstrarea(save_scr);
  196.   return(0);
  197.  }
  198.  
  199. ////////////////////////////////////////////////////////////////////////
  200. //                                                                    //
  201. //  Function to display Main Menu                                     //
  202. //                                                                    //
  203. ////////////////////////////////////////////////////////////////////////
  204.  
  205. main_menu(str rom_level)
  206.  {
  207.   clear_scr();
  208.   prints("                 ┌────────────────────────────────────────────┐              ");
  209.   prints("   ╒═════════════╡ USR COURIER HST - TXL_HST MAIN MENU   v1.0 ╞═════════════╕");
  210.   prints("   │             └────────────────────────────────────────────┘             │");
  211.   prints("   │  1.  Display HST ROM Level             13. Check Modem-PC Interface    │");
  212.   prints("   │  2.  Display HST Memory Checksum       14. Self-Test: Analog Loopback  │");
  213.   prints("   │  3.  HST RAM Test                      15. Self-Test: Answer Frequency │");
  214.   prints("   │  4.  Display HST RAM Settings          16. Self-Test: Reset Data Mode  │");
  215.   prints("   │  5.  Display HST NRAM Settings         17. Reset Modem to NRAM Default │");
  216.   prints("   │  6.  Display/Set Internal TOD Clock    18. Copy RAM Settings to NRAM   │");
  217.   prints("   │  7.  Display/Store Internal Phone #s   19. Dial a number & exit        │");
  218.   prints("   │  8.  Display Basic Command Help        20. Link Diagnostics display    │");
  219.   prints("   │  9.  Display Extended Command Help                                     │");
  220.   prints("   │ 10.  Display Dial Command Help                                         │");
  221.   prints("   │ 11.  Display S-Reg Help/Set S-Reg      TX. Set Telix 3.11 defaults     │");
  222.   prints("   │ 12.  Display Modem Switch Help         PC. Set PCboard 14.x defaults   │");
  223.   prints("   │                               99. EXIT                                 │");
  224.   prints("   ╞═══════════════════════